home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Games / Arashi 1.1.1 / source code / For your think c folder / Classes / CBaseObject.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-18  |  1.1 KB  |  60 lines  |  [TEXT/KAHL]

  1. /*/
  2.      Project Arashi: CBaseObject.h
  3.      Major release: Version 1.1d2, 9/5/95
  4.  
  5.      Last modification: Tuesday, October 18, 1994, 15:49
  6.      Created: Friday, October 23, 1992, 16:22
  7.  
  8.      Copyright © 1992-1994, Juri Munkki
  9. /*/
  10.  
  11. #pragma once
  12.  
  13. #ifndef __CBASEOBJECT__
  14. #define __CBASEOBJECT__
  15.  
  16. #include "cplusminusutil.h"
  17.  
  18. #ifdef    NO_PRECOMPILED_HEADERS
  19. #include <Types.h>
  20. #include <Memory.h>
  21. #endif
  22.  
  23. class    CBaseObject 
  24. #ifdef THINK_C
  25.     : indirect
  26. #endif
  27. {
  28. protected:
  29.         short    lockCounter;
  30. #ifdef __cplusplus
  31.         Size    fObjectSize;
  32. #endif
  33.  
  34. public:
  35. #ifdef __cplusplus
  36.                              CBaseObject(void);
  37. #endif
  38.     virtual void            IBaseObject(void);
  39.     virtual void            Lock(void);
  40.     virtual void            Unlock(void);    
  41.     
  42.     virtual void            LockThis(void);
  43.     virtual void            UnlockThis(void);
  44.  
  45.     virtual void            ForceUnlock(void);
  46.     virtual void            Dispose(void);
  47.     virtual CBaseObject*    Clone(void);
  48.     virtual void            CloneFields(void);
  49.     virtual Handle            CloneHandle(Handle theHandle);
  50.     
  51.     virtual Size            HowMuchMemory(void);
  52.  
  53. #ifdef __cplusplus
  54.             void *            operator new(size_t reqSize);
  55.             void             operator delete(void *thePointer, size_t theSize);
  56. #endif
  57. };
  58.  
  59. #endif
  60.